<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<!-- 
			W3C标准：
				结构--html
				表现--Css
				行为--js：一种面向对象的脚本语言。通过Js代码可以实现客户端页面效果
			JavaScript组成：
				EcmaScript--核心，提供了Js的标准(数据类型、对象、数组、分支语句等)
				Bom--浏览器对象模型，提供了操作浏览器的相关方法(没有标准，有些乱)
				Dom--文档对象模型，提供了文档对象操作的相关方法
			开发工具：
				记事本、DW、Notepad++、HBuilder
			编译工具：
				浏览器
		-->
		
		<!--1、第一个Js示例：内嵌式-->
		<!--
		<script type="text/javascript">
			alert("我爱北京天安门.......");			
		</script>
		-->
		
		<!-- 
			2、js示例：引入外部Js文件
			注意：引入外部文件时，不要再script标签内编写任何js代码。
			即使编写了Js代码也不会被执行
		-->
		<!--
		<script type="text/javascript" src="js/hello.js" >
			alert("这段代码不会被执行.......")
		</script>
		-->
		
		<!-- 
			3、定义变量
				语法格式：var 变量名 [=值];
		-->
		<!--
		<script type="text/javascript">
			//1)、声明变量
			//如果未赋值则默认值为：undefined
			var v;
			
			//2)、为变量赋值
			//Js是一种弱类型语言，所以同一个变量可以赋值为任意的其他类型
			v = 20;
			v ="hello";
			v = true;
			
			//数值类型赋值
			//赋值为数值类型时，如果数据可以转为整数类型，则自动转为整数类型进行存储
			v = 22.0;
			
			//typeof 检查当前变量/数据的类型
			alert(typeof v + " = " + v);
		</script>
		-->
		
		<!-- 
			4、变量类型
				undefined：undefined--表示未定义
				null：null--表示对象的值为空
				boolean：true、false
				number：整数 + 浮点数
				string：""或''引起来的内容都是String类型
				
			isNaN：
				NaN：Not A Nunmber
				isNaN():检查当前变量的值是否为数值类型
		-->
		<!--
		<script type="text/javascript">
			//false
			var i = 20;
			//false
			i=true;
			//true
			i='hello';
			
			alert(isNaN(i))
			
			//定义一个对象
			var obj = new Object();
			alert(typeof obj + " = " + obj);			
		</script>
		-->
		
		<!--
			console.log():将消息输出到控制台
			
        	5、运算符
        		一元运算符：++、--
        		数运算符：+、-、*、/、%
        		关系运算符：>、>=、<、<=、!=、==、===（全等）
        		逻辑运算符：&&、||、！
        		赋值运算符：=、+=、-=、*=、/=、%=
        		三元运算符：？：
        		其他运算符：()[].
        -->
        <!-- 
        <script type="text/javascript">
        	//一元运算符
        	var i=20;
        	console.log(++i);
        	
        	//算数运算符：+、-、*、/、%
        	var j = 4;
        	console.log(i+"+" + j+"=" + (i+j));
        	
        	//关系运算符：
        	var s = '21';
        	//==:对两个变量的值进行比较
        	console.log(i+"==" + s + (i==s));
        	//===（全等）：在比较两个对象值是否相等的情况下对数据的类型进行比较
        	console.log(i+"===" + s + (i===s));
        </script>
        -->
        
        <!-- 
        	6、分支与循环
        		分支语句：
        			if...else...
        			switch
        		循环语句
        			for
        			while
        			do...while
        			for...in
        -->
        <!--
        <script type="text/javascript">
        	//if...else...分支语句
        	var age =55;
        	var gender='女';
        	
        	if(age>=60 && gender=='男')
        		console.log("允许退休");
        	else if(age >=55 && gender =='女')
        		console.log(("允许退休"))
        	else
        		console.log("未达到退休年龄")
        	
        	//switch分支语句
        	var no =3;
        	switch(no){
        		case 1:
        			console.log("一");
        			break;
        		case 2:
        			console.log("二");
        			break;
        		case 3:
        			console.log("三");
        			break;
        		default:
        			console.log("其他");
        			break;
        	}
        	
        	//循环语句
        	for(var i=1;i<=5;i++){
        		console.log("i=" + i);
        	}
        </script>
        -->
        
        <!-- 7、with语句-->
        <script type="text/javascript">
        	//定义对象
        	var obj = new Object();
        	//定义对象的属性
        	obj.name='Tom';
        	obj.age = 20;
        	obj.gender='女';
        	obj.grade="一年一般";
        	
        	//使用对象
        	console.log(obj.name);
        	console.log(obj.grade);
        	
        	//通过with语句进行访问对象的属性
        	//通过with访问时可以直接使用对象的属性
        	with(obj){
        		console.log(age);
        	}        	
        </script>
	</head>
	<body>
		<a href="page10.html">跳转到page10</a>
	</body>
</html>
